
/**
[00:00.000] 作曲 : 许嵩
[00:01.000] 作词 : 许嵩
[00:22.240]天空好想下雨
[00:24.380]我好想住你隔壁
[00:26.810]傻站在你家楼下
[00:29.500]抬起头数乌云
[00:31.160]如果场景里出现一架钢琴
[00:33.640]我会唱歌给你听
[00:35.900]哪怕好多盆水往下淋
[00:41.060]夏天快要过去}
 */

// [00:31.160]如果场景里出现一架钢琴
const parseExp = /\[(\d{2}):(\d{2})\.(\d{2,3})\]/; // 匹配  [00:00.000]

export function parseLyric (lyricString) {
    //将字符串 以 \n 分隔开 转成 数组
    const lineStrings = lyricString.split("\n");
    const lyrics = [];// 歌词数组
    for (let line of lineStrings) {
        if (line) {
            const result = parseExp.exec(line);
            if (!result) continue;
            const time1 = result[1] * 60 * 1000;
            const time2 = result[2] * 1000;
            const time3 = result[3].length === 3 ? result[3] * 1 : result[3] * 10;
            const time = time1 + time2 + time3;//得出歌词的时间位置(ms)
            const content = line.replace(parseExp, "").trim();//歌词文字
            if (!content) continue; // 文字为空 跳出本次循环
            const lineObj = { time, content };
            lyrics.push(lineObj);
        }
    }
    return lyrics;
}